home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 001-025 / scopedisk24 / qrt14src / error.c < prev    next >
C/C++ Source or Header  |  1995-03-18  |  3KB  |  83 lines

  1.  
  2. #include "qrt.h"
  3.  
  4. extern int linenumber;
  5.  
  6. /**********************************************************
  7.  
  8.          Here if pointer to fn goes astray
  9.          (from ObjInfo structure)
  10.  
  11.  **********************************************************/
  12.  
  13. Err() {
  14.   Error(INTERNAL_ERROR,9999);
  15. }
  16.  
  17.  
  18. /**********************************************************
  19.  
  20.       Error reporting routine. Dumps user back DOS
  21.  
  22.  **********************************************************/
  23.  
  24. Error(num,code)
  25.   int num,code;
  26. {
  27.  
  28.   if (linenumber >= 0)
  29.     printf("\nInput line number %d\n",linenumber);
  30.  
  31.   printf("\nFatal error code %d: ",code);
  32.  
  33.   switch (num) {
  34.     case ILLEGAL_PARAMETER: printf("illegal parameter\n");
  35.                             break;
  36.     case TOO_FEW_PARMS    : printf("too few parameters\n");
  37.                             break;
  38.     case ILLEGAL_OBJECT   : printf("illegal object type\n");
  39.                             break;
  40.     case MALLOC_FAILURE   : printf("malloc failure\n");
  41.                             break;
  42.     case SYNTAX_ERROR     : printf("syntax error\n");
  43.                             break;
  44.     case INTERNAL_ERROR   : printf("programmer confusion error\n");
  45.                             break;
  46.     case FILE_ERROR       : printf("file error\n");
  47.                             break;
  48.     case PATTERN_NOT_FOUND: printf("pattern not found\n");
  49.                             break;
  50.     case PATTERN_EXISTS   : printf("pattern already defined\n");
  51.                             break;
  52.     case NO_OBSERVER      : printf("no observer defined\n");
  53.                             break;
  54.     case UNDEFINED_PARAM  : printf("undefined parameter\n");
  55.                             break;
  56.     case NON_HOMOGENIOUS  : printf("world contains non-homogenious object\n");
  57.                             break;
  58.     case ZERO_INDEX       : printf("an index of refraction is 0\n");
  59.                             break;
  60.     case COLOR_VALUE_ERR  : printf("illegal color_info value\n");
  61.                             break;
  62.     case LESS_THAN_ZERO   : printf("parameter should be >= 0\n");
  63.                             break;
  64.     case ZERO_MULTIPLIER  : printf("a pattern multiplier is 0\n");
  65.                             break;
  66.     case UNDEFINED_NAME   : printf("undefined name\n");
  67.                             break;
  68.     case LPAREN_EXPECTED  : printf("left paren expected\n");
  69.                             break;
  70.     case RPAREN_EXPECTED  : printf("right paren expected\n");
  71.                             break;
  72.     case ILLEGAL_VECTOR   : printf("illegal vector structure\n");
  73.                             break;
  74.     case ILLEGAL_SVECTOR  : printf("illegal color triple\n");
  75.                             break;
  76.  
  77.     default               : printf("programmer stupidity error\n");
  78.  
  79.   }
  80.   exit(1);
  81. }
  82.  
  83.